perm filename BLOCKS[E80,JMC] blob sn#530509 filedate 1980-08-18 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Maybe cs226 can be mainly based on doing more and more sophisticated
C00004 00003	towers
C00012 00004	Non-elementary matters
C00015 ENDMK
C⊗;
Maybe cs226 can be mainly based on doing more and more sophisticated
things in the blocks world.

1. physical sophistication.  Not much may be needed, but we can
perhaps include (1) a predicate placeable(b1,b2) that tells
whether b1 can ever be on top of b2.  This makes the Tower of
Hanoi a blocks problem. (2) Towers that aren't too heavy are
liftable.  This may require some ability to name towers.

2. The simplest formulation allows only positive proofs that there
there is an accessible configuration satisfying a conjunction of
on(x,y) statements.

3. Negative proofs that a configuration is not attainable.

Naming towers.  Naming tower designs.

4. Design before construction.  Naming of configurations and proofs
that they can or cannot exist with the given supply of blocks.

5. Formulation and proof of the general theorem that what can't
exist can't be built and positive theorems in some cases that whatever
can exist can be built.

Closed world and STRIPS formulations.
towers

Towers will be a sort in the FOL axiomatization.

	A tower could either be an arbitrary collection of blocks,
a collection of blocks in a scene or a collection of blocks
present in a situation.  We could also require that towers be
coherent, i.e. that a tower have a base that supports the rest of
it so that it can potentially be picked up as a unit.

	Should we consider a scene to be something that persists in time?

existable(tower,s)
exists(tower,s)
buildable(tower,s)

	Suppose we consider a traffic light to be a tower with a
red block on top, a green block directly below it and two other-colored
blocks below those.  Regarded as a constructible object, this
traffic light is about as simple as you can get, and the construction
problem should be as trivial as any.  Nevertheless, it seems that
there are some problems to solve in formalizing the epistemology of
traffic light construction.

	With a given scene there are several questions:

	1. Is there a traffic light, and if so what blocks comprise it?

	2. Is there material to build a traffic light?

	3. Is a traffic light constructable, and if so what is the
sequence of actions required to construct it?

	Traffic lights may be described by the list (R,G,¬R∧¬G,¬R∧¬G)
provided this description is recognized as somewhat ad hoc, i.e. not
recommended for objects in general.  This description formalism
can describe an untold number, but it may be that the only interesting
one is the concept of traffic light.

Towers as patterns

	A tower is either null or a pair consisting of a predicate
and a subtower.  This suggests a general definition of pattern
which involves tuplets, where the tuplets can be patterns of
the same or a different character.  Graphs normally have distinguished
vertices so that they can be combined via these vertices.

Examples:

	A pattern of concentric circles.

	A head of hair

	A connected or multiply connected graph or a tree (not rooted).

	A dodecahedron (without using the knowledge that it is the
only 12 sided regular solid.

	A house or other building.

	There seems to be no getting around the fact that if patterns
are to be objects (and it seems they should be), then we have to include
arbitrary wffs (or perhaps a suitable translation thereof) in the
pattern constants.  Perhaps we can get around it by naming patterns with
identifiers and describing them with predicate calculus formulas.
Thus the predicate calculus formulas are not part of the pattern.
We will often have to prove a uniqueness theorem that mightn't be
necessary otherwise.

	trafflight x ≡ isblock top x ∧ red top x ∧ isblock second x
∧ green second x ∧ istower rest x ∧ on(top x, second x)
∧ ∀y.(trmem(y,trrest x) ⊃ above(second x, y) ∧ ¬red y ∧ ¬green y)
∧ etc.

This needs to be modified or at least interpreted so that we distinguish
the abstract blocks in the abstract tower from the concrete blocks in
actual situations.  We'll have something like

	trafflight x ∧ present(x,s) ∧ servesas(A, top x,s)

We need to distinguish between the concrete on(x,y,s) and the
abstract on(x,y) in abstract towers or perhaps on(x,y,tower).

makes(trafficlight, prog(buy(brown,A),buy(brown,B),move(B,A),
buy(green,C),move(C,B),buy(red,D),move(D,C)),S0)

An action is

	%2buy(brown,D)%1

which satisfies the axiom

	¬exists(x,s) ⊃ [λs'.exists(x,s') ∧ color(x,s') = c ∧ on(x,Table,s'))]
(result(buy(x,c),s))

	We suppose that our language has an adequate supply of block names.
buy(brown,D) is the action of buying a brown block, i.e. getting it from
nowhere, and calling it D where D is unused.  We formalize this by
regarding D as a nonexistent block, and buying a block causes D to exist,
have the color brown, and to be on the table.  Destroying blocks can be
treated similarly.

	Now consider creating, building and modifying towers.

	Clearly we can try to apply the same trick to towers.
We wouuld like to be able to define ⊗make(trafficlight,D) as a
compound action whose result would be a trafficlight on the table
called D.  The question arises as to when D comes to exist and
becomes a traffic light.  We take the design stance as Dennett
would put it.  When do we want to come into existence and be
considered a traffic light.  We might like D to be a
traffic-light-under-construction before it becomes a traffic light.

	is-a(D,trafficlight)

	exists(D,s)

∀u.(is-a(u,trafficlight) ≡ ∃x1 x2 x3 x4.(color(x1) = red ∧ color(x2)=green
∧ color(x3)=brown∧color(x4)=brown ∧ on(x1,x2) ∧ on(x2,x3) ∧ on(x3,x4)
∧ in(x1,u) ∧ in(x2,u) ∧ in(x3,u) ∧ in(x4,u))
Non-elementary matters

7. Partially known blocks configurations.  partially known laws
of action in the blocks world.

9. Maps between the blocks world and the real world.

8. What circumscriptions in the formulation of laws and in
treating particular situations.

Tower design and construction programs.  The relation between their
epistemology and heuristics.  Can Goad help?

	The blocks world may have some limitations, because it is
an artificial world.  Perhaps we can mitigate this by imagining
that there are a collection of actual objects on the table subject
to common sense physics.  Then we can consider reasoning that takes
only certain facts into account.

How to we formulate a circumscription that jumps to the conclusion
that color is irrelevant in determining when one block can be moved
onto another?  What is the intellectual situation when we know about
the possibility of moving blocks but don't know whether color is
relevant.  Evidently the initial situation is one in which the movability
of a block depends on the whole situation.  Do we need color as an
abstract in order to conjecture that color is irrelevant to the
movability of the blocks.  Probably not, because an animal probably
doesn't have abstracts but has according to Nisbett and Ross definite
prejudices about what may be relevant to what.

You may not move blocks that belong to me without my permission.

see also blocks.not[w78,jmc]
BLOCKS.AX[W78,JMC] 17-Jan-78	Axiomatization of world of 3 blocks
BLOCK2.AX[W78,JMC] 24-Jan-78	Axioms for 4 blocks